classdef modelSolved < irisinp.model    
    methods
        function This = modelSolved(varargin)
            % irisinp.modelSolved() - solved model with any number of parameterizations.
            % irisinp.modelSolved(1) - solved model with single parameterization.
            This = This@irisinp.model(varargin{:});
            This.ReportName = ['Solved ',This.ReportName];
            validFn = This.ValidFn;
            This.ValidFn = @(X) validFn(X) ...
                && irisinp.modelSolved.myvalidate(X);
        end
    end
        
       
    methods (Static)
        function Flag = myvalidate(X)
            ixSolved = issolved(X);
            Flag = ~isempty(ixSolved) && all(ixSolved);
            if isempty(ixSolved)
                utils.warning('inp:modelSolved', ...
                    'Empty model object with no parameterization.');                
            elseif any(~ixSolved)
                utils.warning('inp:modelSolved', ...
                    '#Solution_not_available', ...
                    exception.Exception.alt2str(~ixSolved) );
            end
        end
    end
end
